Systematic Debugging of Parallel Programs Based on Collective Breakpoints
نویسنده
چکیده
1 The work described in the paper is supported by the ESPRIT project WINPAR No. 23516, the Hungarian-German Intergovernmental TéT project GRADEOMIS No. D-62/96, the Hungarian-Portuguese Intergovernmental TéT project Graphical Quality No. P-12/97 and by the OMFB project WINPARDEBUGGER No. E151/98.04.03. Abstract The paper introduces the concept of collective breakpoints and classifies the possible parallel breakpoints comparing their mechanisms. Based on the collective breakpoints the macrostep-by-macrostep execution mode has been defined. After introducing the concept of the execution tree and meta-breakpoints the systematic debugging of message passing parallel programs is explained. The main features and distributed structure of DIWIDE, a macrostep debugger is described. The integration of DIWIDE into the GRADE and WINPAR parallel programming environments is outlined. An algorithm is shown how to generate automatically the collective breakpoints in the GRADE environment.
منابع مشابه
Visualization, Execution Control and Replay of Massively Parallel Programs within Annai’s Debugging Tool
PDT is the Parallel Debugging Tool of the Annai programming environment developedwithin the Joint CSCS-ETH/NEC Collaboration in Parallel Processing. Similarly to the other components of the integrated environment, PDT provides support for application developers to debug data-parallel programs written in HPF, and message-passingprograms based on the MPI standard. This paper describes how the PDT...
متن کاملExtension of Macrostep Debugging Methodology Towards Metacomputing Applications
This paper focuses on the non-deterministic behaviour and architecture dependencies of metacomputing applications from point of view of debugging. As a possible solution we applied and also extended the macrostep systematic debugging methodology f i r metacomputing applications. Our extended methodology is based on modified collective breakpoints and macrosteps furthermore, we introduce host-tr...
متن کاملWhy Debugging Parallel Programs Needs Visualization?
The goal of debugging is location and correction of bugs in arbitrary programs to improve their reliability. Since errors are established by an application’s source code, which is in most cases implemented with some kind of textual language, the traditional focus of debugging is on textual representations. While this may be sufficient for sequential programs, it limits the usefulness of paralle...
متن کاملA Brief Overview of the MAD Debugging Activities
Debugging parallel and distributed programs is a difficult activity due to the multiplicity of “sequential bugs”, the existence of malign effects like race conditions and deadlocks, and the huge amounts of data that have to be processed. These problems are addressed by the Monitoring And Debugging environment MAD, which offers debugging functionality based on a graphical representation of a pro...
متن کاملDebugging Message Passing Programs Using Invisible Message Tags
Source level debuggers for parallel PVM or MPI programs currently ooer good support for debugging multiple processes, however, they still lack adequate mechanisms for debugging message passing errors. In this paper, we present a new concept called message breakpoints, which allows to follow the information ow between processes. We also show how these breakpoints can be implemented very eecientl...
متن کامل